using System;
using System.Collections.Generic;
using System.Text;

namespace Sleddog.BreederDelight.BCL
{
	public class Dog
	{
		private Dog mother = null;
		private Dog father = null;

		private string dogName;
		private Gender dogGender;
		private DateTime birthDate;
		private DateTime timeOfDeath;

		private bool useStaticCOI = false;
		private double staticCOI = 0;

		public string DogName
		{
			get
			{
				return dogName;
			}
			set
			{
				dogName = value;
			}
		}

		public Dog Mother
		{
			get
			{
				return mother;
			}
			set
			{
				mother = value;
			}
		}

		public Dog Father
		{
			get
			{
				return father;
			}
			set
			{
				father = value;
			}
		}

		public Gender Gender
		{
			get
			{
				return dogGender;
			}
			set
			{
				dogGender = value;
			}
		}

		public DateTime BirthDate
		{
			get
			{
				return birthDate;
			}
			set
			{
				birthDate = value;
			}
		}

		public DateTime TimeOfDeath
		{
			get
			{
				return timeOfDeath;
			}
			set
			{
				timeOfDeath = value;
			}
		}

		public Dog( string dogName )
		{
			this.dogName = dogName;
		}

		public bool MatchByName( Dog dog )
		{
			return this.dogName.Equals( dog.DogName );
		}

		public bool MatchByDog( Dog dog )
		{
			return this == dog;
		}
	}
}
